Method and system for charge cradle lock control

ABSTRACT

A mobile computing device includes: a housing having a recess configured to receive a latch of a charging cradle to lock the mobile computing device in the charging cradle; a set of charging contacts configured to engage with corresponding power connectors of the charging cradle; and a processor configured to: responsive to detecting an unlock event, determine whether an unlock condition is satisfied; and when the unlock condition is satisfied, cause the charging cradle to release the latch.

BACKGROUND

Mobile computing devices may be powered by rechargeable batteries.Deployments of such mobile devices may also be accompanied by chargingcradles, into which one or more mobile computing devices may be placedto recharge the above batteries. In some deployments, the cradles areplaced in unsecured or high-traffic areas. To reduce the risk of loss ortheft of the devices, the cradles may therefore be equipped to lock thedevices into the cradles, in order to prevent unauthorized removal.Providing cradles with locking functions, however, may require dedicatedcommunications hardware, which increases the cost and complexity of thesystem.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

The accompanying figures, where like reference numerals refer toidentical or functionally similar elements throughout the separateviews, together with the detailed description below, are incorporated inand form part of the specification, and serve to further illustrateembodiments of concepts that include the claimed invention, and explainvarious principles and advantages of those embodiments.

FIG. 1 is an isometric view of a device charging system.

FIG. 2 is a rear isometric view of a device of FIG. 1.

FIG. 3 is a cross-sectional view of the system of FIG. 1, taken at thesection plane “F3”.

FIG. 4 is a block diagram of certain internal components of the deviceand the charging cradle of FIG. 1.

FIG. 5 is a flowchart of a method of charge cradle lock control; and

FIG. 6 is a schematic illustrating an example performance of the methodof FIG. 5.

Skilled artisans will appreciate that elements in the figures areillustrated for simplicity and clarity and have not necessarily beendrawn to scale. For example, the dimensions of some of the elements inthe figures may be exaggerated relative to other elements to help toimprove understanding of embodiments of the present invention.

The apparatus and method components have been represented whereappropriate by conventional symbols in the drawings, showing only thosespecific details that are pertinent to understanding the embodiments ofthe present invention so as not to obscure the disclosure with detailsthat will be readily apparent to those of ordinary skill in the arthaving the benefit of the description herein.

DETAILED DESCRIPTION

Examples disclosed herein are directed to a mobile computing deviceincluding: a housing having a recess configured to receive a latch of acharging cradle to lock the mobile computing device in the chargingcradle; a set of charging contacts configured to engage withcorresponding power connectors of the charging cradle; and a processorconfigured to: responsive to detecting an unlock event, determinewhether an unlock condition is satisfied; and when the unlock conditionis satisfied, cause the charging cradle to release the latch.

Additional examples disclosed herein are directed to a method in amobile computing device, including: receiving electrical power from acharging cradle via a set of charging contacts configured to engage withcorresponding power connectors of the charging cradle, wherein thecharging cradle includes a latch received in a recess of a housing ofthe mobile computing device to lock the mobile computing device in thecharging cradle; responsive to detecting an unlock event, determiningwhether an unlock condition is satisfied; and when the unlock conditionis satisfied, causing the charging cradle to release the latch.

Further examples disclosed herein are directed to a charging cradle fora mobile computing device, the charging cradle comprising: a cradle bodydefining a slot to receive the mobile computing device; a set of powerconnectors in the slot configured to engage with corresponding chargingcontacts on a housing of the mobile computing device; a latch movablebetween (i) an extended position to engage with the housing and lock themobile computing device into the slot, and (ii) a retracted position todisengage from the housing to unlock the mobile computing device forremoval from the slot; a current sensor coupled to the power connectors;and a controller connected to the current sensor and the latch, whereinthe controller is configured to: receive a measured current profile fromthe current sensor; extract command data from the measured currentprofile; and responsive to extracting the command data, move the latchfrom the extended position to the retracted position to unlock themobile computing device.

Further examples disclosed herein are directed to a method in a mobilecomputing device, comprising: responsive to detecting an unlock event,determining whether an unlock condition is satisfied; when the unlockcondition is satisfied, disconnecting a power supply subsystem connectedto a battery of the mobile computing device from a set of chargingcontacts of the mobile computing device; and toggling a signaling switchaccording to a command sequence to generate a current profile across thecharging contacts, to cause a charging cradle to release a latch engagedwith a housing recess of the mobile computing device responsive todetection of the current profile at power connectors engaged with thecharging contacts.

FIG. 1 depicts a system 100 for controlling locking functionality of acharging cradle. In particular, FIG. 1 illustrates a charging cradle 104(also referred to herein simply as the cradle 104). The charging cradle104 includes a body 108 defining one or more slots for receiving mobilecomputing devices therein. In the illustrated example, two slots 112-1,112-2 are defined in the body 108, for receiving mobile computingdevices 116-1 and 116-2, respectively. In the illustrated example, theslots 112 are defined by inserts mounted in the body 108, e.g. duringmanufacturing of the cradle 104. The slots 112 may also be integrallyformed with the body 108, however. Although two slots 112 andcorresponding devices 116 are shown in FIG. 1, in other examples thecradle 104 can include a single slot 112, or a number of slots 112greater than two. As will be apparent to those skilled in the art, thediscussion below sets out various features of the cradle, includingfeatures of the slot 112-1. In embodiments having more than one slot112, such slot-specific features are reproduced for each slot 112.

When the device 116-1 is inserted into the slot 112-1, the cradle 104supplies electrical power to the device 116-1 to charge a battery of thedevice 116-1. In addition, the cradle 104 locks the device 116-1 intothe slot 112-1 via activation of a latch 120. As will be discussedbelow, the latch 120, when activated, extends into the slot 112 toengage a complementary structure of the device 116-1. The cradle 104 canalso activate other devices, such as one or more lights (e.g.light-emitting diodes, LEDs) or other indicator outputs associated witheach slot 112, under certain conditions. The inserts defining the slots112 in the present example may be transparent to permit the emissionlight from LEDs contained within the body 108. The mechanism by whichthe cradle 104 determines when to activate the latch 120 and any otherdevices, such as the above-mentioned lights, will be discussed in detailherein.

Each device 116 includes a housing 124 supporting various othercomponents of the device 116, including a display 128. Each device 116also includes one or more input assemblies, such as a touch screenintegrated with the display 128, one or more buttons 132 and the like.

Turning to FIG. 2, a rear view of the device 116-1 is illustrated. Inaddition to a rear portion of the housing 124 and the button 132, FIG. 2illustrates a set (a pair, in the illustrated example) of chargingcontacts 200 a and 200 b, such as conductive plates, disposed on thehousing 124. In the present example, the set of charging contacts 200are disposed on the rear of the housing 124, at or adjacent to a lowerend 204 of the device 116-1. As will be apparent from FIG. 1, the lowerend 204 of the device 116-1 is the end that is inserted into the slot112.

The housing 124 also defines a recess 208 therein to receive the latch120 mentioned in connection with FIG. 1. As shown in FIG. 2, the recess208 is shaped to receive an end of the latch 120, and to prevent removalof the device 116-1 from the slot 112-1 when the latch 120 is receivedin the recess 208. The recess 208 is adjacent to the contacts 200 in thepresent example, but in other examples the recess 208 may be defined inother suitable locations on the housing 124, depending on thearrangement of the latch 120 and other components in the cradle 104.

Turning now to FIG. 3, a cross-sectional view of the system 100 isillustrated, omitting the device 116-1. The cross-sectional view of FIG.3 is taken at the sectioning plane “F3” as shown in FIG. 1. In additionto the latch 120, FIG. 3 shows a set of power connectors 300 a and 300 bcorresponding to the charging contacts 200 a and 200 b, respectively, ofthe device 116-1. The power connectors 300 may be, for example,spring-loaded conductive members that are biased into the slot 112-1 andinto engagement with the charging contacts 200 when the device 116-1 isinserted in the slot 112-1. The latch 120 is controlled by a controllerof the cradle 104, discussed below in greater detail, to transitionbetween extended and retracted positions. In the extended position, asshown in FIGS. 1 and 3, the latch 120 protrudes into the slot 112-1 toengage with the recess 208 discussed above in connection with FIG. 2,and prevent removal of the device 116-1 from the cradle 104. Totransition to the retracted position, the latch 120 moves in thedirection 304 indicated in dashed lines to withdraw from the slot 112-1into the body 108 of the cradle 104, thus disengaging from the recess208 and enabling removal of the device 116-1 from the slot 112-1.

The device 116-1 itself determines whether the latch 120 is to be movedto unlock the device 116-1. Further, the device 116-1 instructs thecradle 104 to retract the latch 120 by sending one-way communications tothe cradle 104 via the charging contacts 200 and the power connectors300. That is, the devices 116 and the cradle 104 need not be providedwith additional communications contacts (e.g. USB ports or the like) toimplement the above functionality.

Before discussing the locking control mechanism implemented by thesystem 100, certain internal components of the devices 116 and thecradle 104 will be described with reference to FIG. 4. FIG. 4illustrates certain internal components of a device 116 that representsboth the devices 116-1 and 116-2. That is, each of the devices 116 shownin FIG. 1 (and indeed any other devices 116 employed with the cradle104, when the cradle 104 has more than two slots 112) includes thecomponents shown in FIG. 4.

As shown in FIG. 4, the device 116 includes a central processing unit(CPU), also referred to as a processor 400, interconnected with anon-transitory computer readable storage medium, such as a memory 404.The memory 404 includes any suitable combination of volatile memory(e.g. Random Access Memory (“RAM”)) and non-volatile memory (e.g. readonly memory (“ROM”), Electrically Erasable Programmable Read Only Memory(“EEPROM”), flash memory). In general, the processor 400 and the memory404 each comprise one or more integrated circuits.

The memory 404 stores a plurality of applications, each including aplurality of computer readable instructions executable by the processor400. The execution of the above-mentioned instructions by the processor400 causes the device 116 to implement certain functionality, asdiscussed herein. The applications are therefore said to be configuredto perform that functionality in the discussion below. In the presentexample, the memory 404 of the device 116 stores a cradle controlapplication 406, also referred to herein as the application 406. Thedevice 116 is configured, via execution of the application 406 by theprocessor 400, to generate and send command data to the cradle 104 viathe charging contacts 200, for causing the cradle 104 to perform variousactions (such as actuation of the latch 120).

In other examples, the processor 400, as configured by the execution ofthe application 406, is implemented as one or morespecifically-configured hardware elements, such as field-programmablegate arrays (FPGAs) and/or application-specific integrated circuits(ASICs).

The device 116 also includes at least one input, such as the button 132mentioned above, interconnected with the processor 400. As notedearlier, the device 116 can include various additional inputs, eachconfigured to receive input (e.g. from an operator of the device 116)and provide data representative of the received input to the processor400. The inputs, as noted earlier, can include any one of, or a suitablecombination of, a touch screen, a keypad, a microphone, a fingerprintscanner, or the like.

The device 116 also includes the above-mentioned display 128interconnected with the processor 400, and configured to render dataunder the control of the processor 400. The device 116 can also includeone or more output devices in addition to the display 128, such as aspeaker, a notification LED, and the like (not shown).

The device 116 also includes a communications interface 408interconnected with the processor 400. The communications interface 408includes any suitable hardware (e.g. transmitters, receivers, networkinterface controllers and the like) allowing the device 116 tocommunicate with other computing devices via wired and/or wireless links(e.g. over local or wide-area networks). The communications interface408 can also include short-range communications hardware, such as aradio-frequency identification (RFID) assembly.

The components of the device 116 are supplied with electrical power by apower supply subsystem 412, which routes such electrical power fromeither a battery 416 within the housing 124 or the charging contacts 200(when the device 116 is in the cradle 104). The power supply subsystem412 also routes power from the charging contacts 200 to the battery 416to charge the battery when the device 116 is in the cradle 104. Deliveryof electrical power is illustrated in FIG. 4 as dashed lines, whilecommunications (e.g. via internal buses or the like) between componentsis illustrated in solid lines. Power delivery from the power supply 412to the other components (e.g. the processor 400) is not shown in full tomaintain legibility of the drawing.

The device 116 also includes components employed for controlling theunlocking functionality of the cradle 104. In particular, the device 116includes an interrupt switch 420 (e.g. implemented by ametal-oxide-semiconductor field-effect transistor (MOSFET)) between thecharging contacts 200 and the power supply 412. The interrupt switch420, when closed, permits power to be delivered from the contacts 200 tothe power supply 412 (e.g. for charging the battery 416 and/or poweringthe internal components of the device 116). When the interrupt switch420 is open, however, power delivery to the power supply 412 isinterrupted and the internal components of the device 116 are poweredexclusively by the battery 416, even if the device 116 is in the cradle104. The interrupt switch 420 may be implemented as a plurality ofswitches in other examples, depending on the exact configuration of thepower supply 412 and the charging contacts 200.

The device 116 further includes a signaling switch 424 connected betweenthe charging contacts 200. The signaling switch 424 may be implemented,for example, as a MOSFET controllable by the processor 400. Theconnections between the charging contacts 200 and the signaling switch424 may also include a resistor element, such that when the signalingswitch 424 is closed (and the device 116 is in the cradle 104), apredetermined current flows from the charging contact 200 a through thesignaling switch 424 to the charging contact 200 b. As will be discussedbelow, the processor 400 controls the activation of the signaling switch424 to generate a current profile at the charging contacts 200 that thecradle 104 can detect and extract command data from.

The cradle 104 includes, in addition to the power connectors 300, apower supply 450, e.g. connected to an electrical grid via a wall outletor the like, to supply electrical power to the power connectors 300.More specifically, in the present example the power connector 300 adelivers power to the device 116, while the connector 300 b is connectedto a neutral or return line (e.g. via the power supply 450). The powersupply 450 also supplies electrical power to the internal components ofthe cradle 104 discussed below.

The cradle 104 also includes a controller 454, such as an ASIC, FPGA,microcontroller or the like, that executes computer-readableinstructions stored therein to extract command data from currentprofiles detected at the power connectors 300, and to execute variousactions (e.g. actuating the latch 120) according the command data. Thecontroller 454 receives the above-mentioned current profiles from acurrent sensor 458 connected to the power connectors 300. For example,the current sensor 458 can be implemented as a current sense amplifierwith a pair of inputs connected to opposing ends of a resistor in serieswith the power connector 300 a. The current sensor 458 (and/or ananalog-to-digital converter associated with the current sensor 458)generates a signal representing the current draw at the power connector300 a and transmits the signal to the controller 454. A series ofcurrent draw measurements received at the controller 454 constitutes acurrent profile. The controller 454 processes the above-mentionedcurrent profile and, based on such processing, controls one or both of afirst control switch 462 and a second control switch 466. The controlswitches 462 and 466 may be implemented as MOSFETs or other suitableswitching circuits.

The first control switch 462, when closed, permits power to be deliveredto an actuator 470 coupled to the latch 120. The actuator 470 can be,for example, a solenoid with a resting (i.e. unpowered) state thatplaces the latch 120 in the extended position, and a powered state thatretracts the latch 120, to unlock the device 116. When the first controlswitch 462 is open, the actuator 470 is not powered, and the latchremains in (or returns to) the extended position.

The second control switch 466, when closed, permits power to bedelivered to a light 474, such as an LED mounted on or within the body108 of the cradle 104, thus illuminating the light 474. When the secondcontrol switch 466 is open, the light 474 is disabled.

Although single instances of the current sensor 458, switches 462 and466, light 474 and actuator 470 are illustrated, it will be understoodthat additional instances of the above-mentioned components are providedin the cradle 104 for each additional slot 112. That is, a cradle 104with four slots 112 (each with its own pair of power connectors 300)includes four sensors 458, four switches 462, four switches 466, fouractuators 470 and four lights 474. Such a cradle 104 may include asingle controller 454 connected to each of the above components, or caninclude a smaller number of controllers 454 each responsible forcontrolling a subset of the slots 112.

The functionality implemented by the system 100 to control cradleoperations such as unlocking the devices 116 will now be described ingreater detail, with reference to FIG. 5. FIG. 5 illustrates a method500 of charge cradle lock control, of which certain blocks are performedby the device 116, and other blocks are performed by the cradle 104.

It is assumed that the device 116 is placed into a slot 112 of thecradle 104 prior to the performance of the method 500. Thus, at block505, the cradle 104 provides electrical power to the device 116 via thepower connectors 300 and the charging contacts 200. It is furtherassumed that at block 505 the device 116 is locked into the cradle 104.That is, the latch 120 is in the extended position, and engages with therecess 208 to prevent removal of the device 116 from the slot 112.

At block 510, the device 116 detects an unlock event. The unlock eventcan take a wide variety of forms. For example, the unlock event can be amessage received at the device 116 via the communications interface 408.The message can be received from another computing device, such as akiosk, desktop computer that is configured to select a device 116 fordeployment (e.g. one of a plurality of devices 116 in the cradle 104, ora set of cradles 104) responsive to an operator request. In otherexamples, the message is received at the device 116 when an operatorbrings a key fob, access card or other physical authentication tokeninto proximity with the communications interface 408. In furtherexamples, the message is received via activation of an input of thedevice 116, such as the button 132.

At block 515, the device 116 determines whether an unlock condition issatisfied. The unlock condition evaluated at block 515 can be, forexample, whether a current charge level of the battery 416 exceeds aminimum threshold (e.g. 40% of maximum battery capacity). Other unlockconditions are also contemplated, such as whether the device iscurrently applying a software update (and is therefore not available foruse). When the determination at block 515 is negative, the device 116generates an error signal at block 520. The error signal can include areturn message to the originator of the unlock event detected at block510. For example, when the unlock event is a message received fromanother computing device, at block 520 the device 116 may transmit anerror message to the other computing device. When the unlock event isreceived directly at the device via an authentication token as mentionedabove, the device 116 can generate the signal at block 520 bycontrolling the display 128 to present an error message (e.g. a redscreen and/or a text string stating that the device is not available foruse).

When the determination at block 515 is affirmative (e.g. when the chargelevel of the battery 416 exceeds the above-mentioned threshold), thedevice 116 proceeds to block 525. At block 525, the device 116 selectsan active command identifier according to the event from block 510, andgenerates a command sequence based on the selected command identifier.The device 116 may store, in the memory 404, a plurality of commandidentifiers, each corresponding to an action to be performed by thecradle 104 under the control of the device 116. The command selected atblock 525 corresponds to the event detected at block 510. Therefore, inthe present example an unlock command is selected at block 525(corresponding to the unlock event detected at block 510).

The sequence generated at block 525 will be employed, as discussedbelow, to toggle the signaling switch 424 to generate a current profiledetectable by the cradle 104. The device 116 generates the sequence atblock 525 by binary-encoding the selected command identifier, andoptionally a command parameter. Turning to FIG. 6, a schematic diagramillustrates an example performance of the method 500, indicating actionsperformed at the device 116, and actions performed at the cradle 104.

As seen in FIG. 6, the device 116 maintains (e.g. the memory 404) arepository 600 containing a plurality of command identifiers. Forexample, the command identifiers can each be defined in respectiverecords of the repository 600, an example record 604 of which is shownin FIG. 6. The record 604 defines an unlock command with the commandidentifier “1011”. As will now be apparent, the command identifier isalready binary-encoded, but in other examples a wide variety of othercommand identifiers can be stored in the repository 600, includingidentifiers that are not binary-encoded. The record 604 also includes,in the illustrated example, a command name “Unlock” and commandparameter data. The command name and/or parameter data can be omitted inother embodiments.

The parameter data defines a name and value for a command parameter thatmodifies the command identifier. In the present example, the commandparameter indicates a timeout period, e.g. in seconds, for which theunlock command will be applied at the cradle 104.

Having selected the unlock command identifier “1011” at block 525, thedevice 116 is configured to generate a sequence by binary-encoding thecommand identifier and the parameter value. Thus, the performance ofblock 525 results in a command sequence 608, including a four-bit valuecorresponding to the command identifier and a three-bit valuecorresponding to the command parameter. The sequence 608 can have a widevariety of other structures. For example, the sequence can includeadditional header data, error-correction bits, and the like. Further,the command identifier and the parameter value need not have the lengthsshown in FIG. 6. For example, the command parameter can be encoded as afive-bit value, or any other suitable length.

Returning to FIG. 5, at block 530 the device 116 disconnects the powersupply 412 from the charging contacts 200. More specifically, theprocessor 400 controls the interrupt switch 420 to disconnect the powersupply 412 from the charging contacts 200. That is, the device 116 ispowered solely by the battery 416 following block 525. When apredetermined length of time (e.g. 0.1 seconds, although a wide varietyof other time periods may also be implemented) has elapsed afterdisconnecting the power supply 412, the device 116 proceeds to block535.

At block 535, the device toggles the signaling switch 424 according tothe command sequence generated at block 525, to generate a currentprofile across the charging contacts 200. Specifically, the processor400 opens and closes the signaling switch 242 to generate a currentprofile including current pulses of a first length to indicate binaryones, and current pulses of a second length to indicate binary zeros.

Turning again to FIG. 6, a current profile 612 is illustrated, asgenerated via the performance of blocks 530 and 535. In particular, thecurrent profile begins with a period 624 with no current draw, beginningwhen the interrupt switch 420 is opened at block 535, and ending whenthe first pulse is generated at block 535. The current profile includespulses 616 for binary ones, and pulses 620 for binary zeros. As seen inFIG. 6, the length of the pulses 616 is smaller than the length of thepulses 620. In other examples the “one” pulses may instead be longerthan the “zero” pulses. The relative lengths of the pulses 616 and 620may also vary from that shown in FIG. 6. In addition, the currentprofile includes an inter-bit space 628 with a low or zero currentbetween each pulse. The length of the inter-bit space 628 relative tothe pulses 616 and 620 may also be varied from that shown in FIG. 6.

The device 116, in summary, opens and closes the signaling switch 424 todraw a specific current profile from the power connectors 300 of thecradle 104. The cradle 104, in turn, detects the current profile at thepower connectors 300 and extracts command data therefrom. In particular,referring again to FIG. 5, at block 540 the cradle 104 determineswhether the current draw at the power connectors 300 has dropped to zero(or below a predetermined threshold) for at least a predetermined timeperiod (e.g. the above-mentioned period of 0.1 seconds). When thedetermination at block 540 is negative, the cradle 104 continuescharging at block 505, and repeats the determination at block 540.

When the determination at block 540 is affirmative, e.g. when block 540is performed simultaneously with the performance of block 530 by thedevice 116, the cradle 104 proceeds to block 545. At block 545, thecontroller 454 receives a measured current profile, e.g. by collecting aset of measurements from the current sensor 458 over a predeterminedlength of time corresponding to a preconfigured command sequence length(e.g. 0.25 seconds to 0.5 seconds). At block 550, the controller 454extracts command data from the measured current profile. An illustrationof the performance of blocks 540, 545 and 550 will be discussed inconnection with FIG. 6.

Referring again to FIG. 6, a measured current profile 650 is illustratedas collected at the controller 454 from the current sensor 458. As willnow be apparent, the measured current profile 650 is substantiallyidentical to the current profile 612 discussed above, as the pulses ofthe current profile 612 at the device 116 are generated via powersupplied by the power connectors 300.

The controller 454, responsive to detecting a low-current or no-currentportion of the profile 650 having a length 654 that exceeds a predefinedthreshold, makes an affirmative determination at block 540. Thecontroller 454 then collects the remainder of the profile 650 from thesensor 458 at block 545, and extracts command data from the profile 650at block 550 by generating a binary string according to the lengths ofthe pulses in the profile 650. That is, in the present example thelonger pulses are converted to binary zeros and the shorter pulses areconverted to binary ones.

The controller 454 therefore, at block 550, generates extracted commanddata 658 from the current profile 650. The extracted command data 658includes the binary string “1011100”. Based on the predefined structureof the string, the controller 454 extracts the first four digits as acommand identifier, and the following three digits as a commandparameter.

Returning to FIG. 5, at block 555 the controller 454 determines whetherthe extracted command identifier matches a predefined commandidentifier. For example, the controller 454 can store a plurality ofpredefined command identifiers, including the identifier 1011corresponding to an unlock command. When the determination at block 555is negative, indicating that the extracted command data does notcorrespond to any known command at the cradle 104, the cradle 104returns to block 505.

When the determination at block 555 is affirmative, however, the cradle104 proceeds to block 560. At block 560 the controller 454 executes thecommand identified in the extracted command data. The controller 454stores indications of actions that correspond to each predefined commandidentifier. Thus, for example, the controller 454 stores, in connectionwith the unlock command identifier, an indication that the actuator 470is to be activated via the first control switch 462, for a length oftime specified by the extracted command parameter. As shown in FIG. 6,the performance of block 560 therefore includes retracting the latch 120by closing the switch 462 to power the actuator 470, and opening theswitch 462 after the timeout period of eight seconds, to cut off powerto the actuator 470 and return the latch 120 to the extended position.

As noted earlier, the performance of the method 500 can be employed tocontrol the cradle 104 from the device 116 for a plurality of actionsbeyond, or in addition to, unlocking the device 116. That is, thecommand identifiers stored in the repository 600 can correspond tovarious other actions for execution at block 560, and to variouscombinations of actions. For example, another command identifiercorresponds to the activation of the light 474 (by closing the secondcontrol switch 466). Further, different command identifiers cancorrespond to different colors and/or patterns of activation (e.g.flashing) for the light 474. For example, a given command identifier canbe selected to cause the cradle 104 to flash the light 474 with aspecific color (e.g. red) to indicate an error, such as the error signalresulting from a negative determination at block 515. Various othercommand parameters can also be employed to specify color or activationpattern. Still further command identifiers correspond to combinations ofactions, such as a combination of retracting the latch 120 andactivating the light 474 (e.g. to indicate to an operator which slot 112is being unlocked).

In the embodiments set out above, commands are generated at the mobiledevice 116 and transmitted to the cradle 104 via the generation of acurrent profile at the charging contacts 200. In other words, forunlocking the device 116 from the cradle 104, the device 116 detects theunlock event at block 510 and evaluates the unlock condition at block515 before generating the command sequence and toggling the signalingswitch 424 to instruct the cradle 104. In other embodiments, however, atleast some of the above processing is performed by the cradle 104 (e.g.the controller 454) rather than the device 116. For example, in someembodiments the cradle 104 detects the unlock event as described abovein connection with block 510. That is, the cradle 104 performs block 510rather than the device 116. The cradle 104 can detect the unlock eventvia similar mechanisms to those discussed above, such as via the receiptof a signal from a kiosk or other computing device, or the presentationof a physical token at the cradle 104. In such embodiments, the cradle104 includes a communications interface permitting the detection of suchevents.

Having detected the unlock event, the cradle 104 may transmit a requestto the device 116 to evaluate the unlock condition (e.g. whether thebattery 416 has sufficient capacity) at block 515. The cradle 104 cantransmit the request according to a mechanism similar to that describedabove. In particular, the cradle 104 can be provided with a switch toenable and disable delivery of power via the power connectors 300, andthe device 116 can be equipped with a current sensor (e.g. in the powersupply 412). The cradle 104 can therefore toggle the above-mentionedswitch according to a command sequence to generate a current profiledetectable by the device 116. That is, the cradle 104 performs blocks525-535 to transmit the request, while the device 116 performs blocks540-550 to detect the request. The device 116 can then evaluate theunlock condition by performing block 515, and when the unlock conditionis satisfied, the device 116 transmits a response to the cradle 104 asdescribed above in connection with blocks 525-535, causing the cradle104 to unlock the device 116.

In the foregoing specification, specific embodiments have beendescribed. However, one of ordinary skill in the art appreciates thatvarious modifications and changes can be made without departing from thescope of the invention as set forth in the claims below. Accordingly,the specification and figures are to be regarded in an illustrativerather than a restrictive sense, and all such modifications are intendedto be included within the scope of present teachings.

The benefits, advantages, solutions to problems, and any element(s) thatmay cause any benefit, advantage, or solution to occur or become morepronounced are not to be construed as a critical, required, or essentialfeatures or elements of any or all the claims. The invention is definedsolely by the appended claims including any amendments made during thependency of this application and all equivalents of those claims asissued.

Moreover in this document, relational terms such as first and second,top and bottom, and the like may be used solely to distinguish oneentity or action from another entity or action without necessarilyrequiring or implying any actual such relationship or order between suchentities or actions. The terms “comprises,” “comprising,” “has”,“having,” “includes”, “including,” “contains”, “containing” or any othervariation thereof, are intended to cover a non-exclusive inclusion, suchthat a process, method, article, or apparatus that comprises, has,includes, contains a list of elements does not include only thoseelements but may include other elements not expressly listed or inherentto such process, method, article, or apparatus. An element proceeded by“comprises . . . a”, “has . . . a”, “includes . . . a”, “contains . . .a” does not, without more constraints, preclude the existence ofadditional identical elements in the process, method, article, orapparatus that comprises, has, includes, contains the element. The terms“a” and “an” are defined as one or more unless explicitly statedotherwise herein. The terms “substantially”, “essentially”,“approximately”, “about” or any other version thereof, are defined asbeing close to as understood by one of ordinary skill in the art, and inone non-limiting embodiment the term is defined to be within 10%, inanother embodiment within 5%, in another embodiment within 1% and inanother embodiment within 0.5%. The term “coupled” as used herein isdefined as connected, although not necessarily directly and notnecessarily mechanically. A device or structure that is “configured” ina certain way is configured in at least that way, but may also beconfigured in ways that are not listed.

It will be appreciated that some embodiments may be comprised of one ormore specialized processors (or “processing devices”) such asmicroprocessors, digital signal processors, customized processors andfield programmable gate arrays (FPGAs) and unique stored programinstructions (including both software and firmware) that control the oneor more processors to implement, in conjunction with certainnon-processor circuits, some, most, or all of the functions of themethod and/or apparatus described herein. Alternatively, some or allfunctions could be implemented by a state machine that has no storedprogram instructions, or in one or more application specific integratedcircuits (ASICs), in which each function or some combinations of certainof the functions are implemented as custom logic. Of course, acombination of the two approaches could be used.

Moreover, an embodiment can be implemented as a computer-readablestorage medium having computer readable code stored thereon forprogramming a computer (e.g., comprising a processor) to perform amethod as described and claimed herein. Examples of suchcomputer-readable storage mediums include, but are not limited to, ahard disk, a CD-ROM, an optical storage device, a magnetic storagedevice, a ROM (Read Only Memory), a PROM (Programmable Read OnlyMemory), an EPROM (Erasable Programmable Read Only Memory), an EEPROM(Electrically Erasable Programmable Read Only Memory) and a Flashmemory. Further, it is expected that one of ordinary skill,notwithstanding possibly significant effort and many design choicesmotivated by, for example, available time, current technology, andeconomic considerations, when guided by the concepts and principlesdisclosed herein will be readily capable of generating such softwareinstructions and programs and ICs with minimal experimentation.

The Abstract of the Disclosure is provided to allow the reader toquickly ascertain the nature of the technical disclosure. It issubmitted with the understanding that it will not be used to interpretor limit the scope or meaning of the claims. In addition, in theforegoing Detailed Description, it can be seen that various features aregrouped together in various embodiments for the purpose of streamliningthe disclosure. This method of disclosure is not to be interpreted asreflecting an intention that the claimed embodiments require morefeatures than are expressly recited in each claim. Rather, as thefollowing claims reflect, inventive subject matter lies in less than allfeatures of a single disclosed embodiment. Thus the following claims arehereby incorporated into the Detailed Description, with each claimstanding on its own as a separately claimed subject matter.

The invention claimed is:
 1. A mobile computing device, comprising: ahousing having a recess configured to receive a latch of a chargingcradle to lock the mobile computing device in the charging cradle; a setof charging contacts configured to engage with corresponding powerconnectors of the charging cradle; and a processor configured to:responsive to detecting an unlock event, determine whether an unlockcondition is satisfied; and when the unlock condition is satisfied,cause the charging cradle to release the latch by: generating a currentprofile at the set of charging contacts, the current profilecorresponding to an unlock command, and causing the charging cradle torelease the latch responsive to extracting the unlock command from thecurrent profile.
 2. The mobile computing device of claim 1, furthercomprising: a power supply subsystem connected with a battery, whereinthe set of charging contacts is connected to the power supply subsystem;and a signaling switch connected between the charging contacts.
 3. Themobile computing device of claim 2, wherein when the unlock condition issatisfied, the processor is further configured to toggle the signalingswitch according to the unlock command a command.
 4. The mobilecomputing device of claim 3, wherein when the unlock condition issatisfied, the processor is further configured to disconnect the powersupply subsystem from the charging contacts.
 5. The mobile computingdevice of claim 4, wherein the processor is further configured todisconnect the power supply subsystem from the charging contacts byopening a switch connected between the charging contacts and the powersupply subsystem.
 6. The mobile computing device of claim 3, wherein themobile computing device further comprises a memory storing a pluralityof command identifiers; and wherein the processor is further configured,when the unlock condition is satisfied, to select an active one of thecommand identifiers and to generate the unlock command according to theactive command identifier.
 7. The mobile computing device of claim 6,wherein the processor is further configured, in order to generate theunlock command, to binary-encode the active command identifier.
 8. Themobile computing device of claim 7, wherein the processor is furtherconfigured, in order to generate the unlock command, to binary-encodethe active command identifier and a command parameter.
 9. The mobilecomputing device of claim 8, wherein the command parameter indicates atimeout period for the unlock command.
 10. The mobile computing deviceof claim 7, wherein the processor is further configured, in order totoggle the signaling switch according to the unlock command, to:activate the signaling switch for a first predetermined time period fora first binary value; and activate the signaling switch for a secondpredetermined time period for a second binary value.
 11. The mobilecomputing device of claim 3, wherein the processor is configured totoggle the signaling switch according to the unlock command to generatethe current profile across the charging contacts, to cause the chargingcradle to (i) release the latch and (ii) activate an indicator outputresponsive to detection of the current profile at the power connectors.12. A method in a mobile computing device, comprising: receivingelectrical power from a charging cradle via a set of charging contactsconfigured to engage with corresponding power connectors of the chargingcradle, wherein the charging cradle includes a latch received in arecess of a housing of the mobile computing device to lock the mobilecomputing device in the charging cradle; responsive to detecting anunlock event, determining whether an unlock condition is satisfied; andwhen the unlock condition is satisfied, causing the charging cradle torelease the latch by: generating a current profile at the set ofcharging contacts, the current profile corresponding to an unlockcommand, and causing the charging cradle to release the latch responsiveto extracting the unlock command from the current profile.
 13. Themethod of claim 12, further comprising: when the unlock condition issatisfied, disconnecting a power supply subsystem of the mobilecomputing device from the set of charging contacts.
 14. The method ofclaim 13, further comprising: toggling a signaling switch connectedbetween the charging contacts according to the unlock command.
 15. Themethod of claim 13, further comprising: disconnecting the power supplysubsystem from the charging contacts by opening a switch connectedbetween the charging contacts and the power supply subsystem.
 16. Themethod of claim 12, further comprising: storing a plurality of commandidentifiers in a memory of the mobile computing device; and when theunlock condition is satisfied, selecting an active one of the commandidentifiers and generating the unlock command according to the activecommand identifier.
 17. The method of claim 16, further comprisinggenerating the unlock command by binary-encoding the active commandidentifier.
 18. The method of claim 17, further comprising generatingthe unlock command by binary-encoding the active command identifier anda command parameter.
 19. The method of claim 18, wherein the commandparameter indicates a timeout period for the unlock command.
 20. Themethod of claim 14, further comprising, to toggle the signaling switchaccording to the unlock command: activating the signaling switch for afirst predetermined time period for a first binary value; and activatingthe signaling switch for a second predetermined time period for a secondbinary value.
 21. A charging cradle for a mobile computing device, thecharging cradle comprising: a cradle body defining a slot to receive themobile computing device; a set of power connectors in the slotconfigured to engage with corresponding charging contacts on a housingof the mobile computing device; a latch movable between (i) an extendedposition to engage with the housing and lock the mobile computing deviceinto the slot, and (ii) a retracted position to disengage from thehousing to unlock the mobile computing device for removal from the slot;a current sensor coupled to the power connectors; and a controllerconnected to the current sensor and the latch, wherein the controller isconfigured to: receive a measured current profile from the currentsensor; extract command data from the measured current profile;responsive to extracting the command data, move the latch from theextended position to the retracted position to unlock the mobilecomputing device.
 22. The charging cradle of claim 21, wherein thecontroller is further configured, prior to receiving the measuredcurrent profile, to monitor the power connectors for a current drawbelow a predetermined threshold.
 23. The charging cradle of claim 21,further comprising: an actuator coupled to the latch; wherein thecontroller is configured, in order to move the latch, to supply power tothe actuator.
 24. The charging cradle of claim 21, wherein the extractedcommand data includes an extracted command identifier and an extractedcommand parameter.
 25. The charging cradle of claim 24, wherein thepredefined command data includes at least a predefined unlock commandidentifier; and wherein the controller is further configured to: whenthe extracted command identifier matches the unlock command identifier,return the latch to the extended position after a timeout period definedby the extracted command parameter.